When users want a chart or graph of their data in personal computer programs, they typically select the range of data, and the system uses simple heuristics to automatically display the data in a chart. Alternatively, the user typically can select from a menu of pre-defined chart types. However, if the system does not choose correctly, and the built-in charts are not appropriate, then it is usually quite difficult for users to specify the desired pictures. Typically, many complex dialog boxes and commands must be used. This is a significant recognized problem with all of these programs, which so far has not been solved. Some commercially available spreadsheet programs provide a set of question-and-answer dialogs. However, this can be tedious and still does not provide the user with sufficient flexibility to easily specify desired displays. Creating custom displays is also difficult with commercially available scientific visualization systems. In these, code must be written, either using conventional or visual programming languages.
The visualization problem is particularly difficult when there are multiple data values that need to be displayed in the same or linked graphs. Also, there is evidence to show that when users construct their own visualizations, they understand the data better than when a visualization is produced for them. Further, a single display is often insufficient, and users typically need to explore the data by changing display types, zooming, rescaling and aggregating data.
A number of systems have investigated how to automatically produce an appropriate and attractive display given the properties of the data. Examples of this type include (APT), (SAGE), (BOZ), commercial products like spreadsheets (MICROSOFT EXCEL), (LOTUS 1-2-3), and interactive graphing packages (DELTAGRAPH). The commercial products also provide large libraries of built-in displays. One commercial graphing package provides a small amount of direct interactivity with the graphs through techniques like expanding bars that represent aggregates of data by double-clicking on them. Another system uses heuristics to automatically pick the chart type and to resolve mappings to data.
Scientific visualization is a form of data visualization that presents large amounts of data generated by some scientific observation or simulation. Many of today's scientific visualizations are produced using programming libraries of routines, so the users must write code to specify the desired graphics. Sometimes, a charting routine from a library can be used, but if these are flexible, they generally require specifying lots of complex parameters. Most interactive scientific visualization tools use a dataflow model, where the user graphically wires together nodes that process the data. To specify the particular types of display, the user wires the outputs to a charting icon chosen from a large library. These icons typically have many parameters which can be set using dialog boxes or by wiring in the appropriate data. It is usually not possible to directly manipulate the generated pictures to change the display (other than simple manipulations like rotation and moving a clipping plane).
Many demonstrational systems have been created for other domains, such as user interface construction, technical drawing, text editing, and automating repetitive actions. One research system that has begun exploring demonstrational visualization allows the user to draw one example of the layout for objects, and the system generalizes to any number of objects. This system is quite limited, however, and only deals with the layout of rectangles in hierarchies.
The term "data visualization" also applies to systems that create pictures of data from running programs, to help with debugging and understanding. One system that uses demonstrational techniques in an editor to specify algorithm visualizations allows users to draw pictures for the graphical elements and attach preprogrammed "path" animations to control the behaviors. However, the pictures for algorithm visualization are quite different from those of business graphics.
Therefore, to solve these problems, there is a need for a simple way to interactively create new business charts or edit existing charts.